// 自动生成模板OmsOrderReturnApply
package biz

import (
	"time"

	"github.com/go-kratos/kratos/v2/log"
)

// omsOrderReturnApply表 结构体  OmsOrderReturnApply
type OmsOrderReturnApply struct {
	Id             *int       `json:"id" form:"id" gorm:"primarykey;comment:id;column:id;size:19;"`                                 //id
	OrderId        *int       `json:"orderId" form:"orderId" gorm:"comment:order_id;column:order_id;size:19;"`                      //order_id
	SkuId          *int       `json:"skuId" form:"skuId" gorm:"comment:退货商品id;column:sku_id;size:19;"`                              //退货商品id
	OrderSn        *string    `json:"orderSn" form:"orderSn" gorm:"comment:订单编号;column:order_sn;"`                                  //订单编号
	CreateTime     *time.Time `json:"createTime" form:"createTime" gorm:"comment:申请时间;column:create_time;"`                         //申请时间
	MemberUsername *string    `json:"memberUsername" form:"memberUsername" gorm:"comment:会员用户名;column:member_username;size:64;"`    //会员用户名
	ReturnAmount   *float64   `json:"returnAmount" form:"returnAmount" gorm:"comment:退款金额;column:return_amount;size:18;"`           //退款金额
	ReturnName     *string    `json:"returnName" form:"returnName" gorm:"comment:退货人姓名;column:return_name;size:100;"`               //退货人姓名
	ReturnPhone    *string    `json:"returnPhone" form:"returnPhone" gorm:"comment:退货人电话;column:return_phone;size:20;"`             //退货人电话
	Status         *bool      `json:"status" form:"status" gorm:"comment:申请状态[0->待处理；1->退货中；2->已完成；3->已拒绝];column:status;"`         //申请状态[0->待处理；1->退货中；2->已完成；3->已拒绝]
	HandleTime     *time.Time `json:"handleTime" form:"handleTime" gorm:"comment:处理时间;column:handle_time;"`                         //处理时间
	SkuImg         *string    `json:"skuImg" form:"skuImg" gorm:"comment:商品图片;column:sku_img;size:500;"`                            //商品图片
	SkuName        *string    `json:"skuName" form:"skuName" gorm:"comment:商品名称;column:sku_name;size:200;"`                         //商品名称
	SkuBrand       *string    `json:"skuBrand" form:"skuBrand" gorm:"comment:商品品牌;column:sku_brand;size:200;"`                      //商品品牌
	SkuAttrsVals   *string    `json:"skuAttrsVals" form:"skuAttrsVals" gorm:"comment:商品销售属性(JSON);column:sku_attrs_vals;size:500;"` //商品销售属性(JSON)
	SkuCount       *int       `json:"skuCount" form:"skuCount" gorm:"comment:退货数量;column:sku_count;size:10;"`                       //退货数量
	SkuPrice       *float64   `json:"skuPrice" form:"skuPrice" gorm:"comment:商品单价;column:sku_price;size:18;"`                       //商品单价
	SkuRealPrice   *float64   `json:"skuRealPrice" form:"skuRealPrice" gorm:"comment:商品实际支付单价;column:sku_real_price;size:18;"`      //商品实际支付单价
	Reason         *string    `json:"reason" form:"reason" gorm:"comment:原因;column:reason;size:200;"`                               //原因
	Description述   *string    `json:"description述" form:"description述" gorm:"comment:描述;column:description述;size:500;"`             //描述
	DescPics       *string    `json:"descPics" form:"descPics" gorm:"comment:凭证图片，以逗号隔开;column:desc_pics;size:2000;"`               //凭证图片，以逗号隔开
	HandleNote     *string    `json:"handleNote" form:"handleNote" gorm:"comment:处理备注;column:handle_note;size:500;"`                //处理备注
	HandleMan      *string    `json:"handleMan" form:"handleMan" gorm:"comment:处理人员;column:handle_man;size:200;"`                   //处理人员
	ReceiveMan     *string    `json:"receiveMan" form:"receiveMan" gorm:"comment:收货人;column:receive_man;size:100;"`                 //收货人
	ReceiveTime    *time.Time `json:"receiveTime" form:"receiveTime" gorm:"comment:收货时间;column:receive_time;"`                      //收货时间
	ReceiveNote    *string    `json:"receiveNote" form:"receiveNote" gorm:"comment:收货备注;column:receive_note;size:500;"`             //收货备注
	ReceivePhone   *string    `json:"receivePhone" form:"receivePhone" gorm:"comment:收货电话;column:receive_phone;size:20;"`           //收货电话
	CompanyAddress *string    `json:"companyAddress" form:"companyAddress" gorm:"comment:公司收货地址;column:company_address;size:500;"`  //公司收货地址
}

// TableName omsOrderReturnApply表 OmsOrderReturnApply自定义表名 oms_order_return_apply
func (OmsOrderReturnApply) TableName() string {
	return "oms_order_return_apply"
}

type OmsOrderReturnApplyRepo interface {
}

type OmsOrderReturnApplyUsecase struct {
	repo OmsOrderReturnApplyRepo
	log  *log.Helper
}

func NewOmsOrderReturnApplyUsecase(repo GreeterRepo, logger log.Logger) *OmsOrderReturnApplyUsecase {
	return &OmsOrderReturnApplyUsecase{repo: repo, log: log.NewHelper(logger)}
}
